//
//  NSString+KeepFile.m
//  1-MushroomStreet-自定义tabbar
//
//  Created by xmg on 16/1/13.
//  Copyright © 2016年 grx. All rights reserved.
//

#import "NSString+KeepFile.h"

@implementation NSString (KeepFile)

/*把文件保存在Documents文件夹下,Documents一般用于存放由"
 应用程序本身"产生的文件或者数据,例如游戏进度等,目录中的文件会被自动爆粗拿到iCloud
 注意:不要保存从网络上下载的文件,负责无法上架
 */
- (NSString *)docDir{
    
    //1.拿到文件路径
    NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    
    if (path == nil) {
        return nil;
    }
    
    //2.拼接字符串
    // 注意: pathComponents方法, 会按照字符串的/来切割字符串, 如果给定的字符串中没有/那么就直接返回给定的字符串
    NSString *temp = [[self pathComponents] lastObject];
    
    NSString *result = [path stringByAppendingPathComponent:temp];
    
    return  result;
}


/*
 存储在caches文件夹下,caches文件夹主要用来保存临时文件,""后续时要使用,例如缓存图片或者缓存数据等
 系统不会清理caches目录中的文件
 所以在程序开发过程中,需要程序员提供caches目录下的情路解决方案
 */
- (NSString *)cachesDir{
    //1.拿到文件路径
    NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
    
    if (path == nil) {
        return nil;
    }
    
    //2.拼接字符串
    // 注意: pathComponents方法, 会按照字符串的/来切割字符串, 如果给定的字符串中没有/那么就直接返回给定的字符串
    NSString *temp = [[self pathComponents] lastObject];
    
    NSString *result = [path stringByAppendingPathComponent:temp];
    
    return  result;
}


/**
 存储在temp文件夹下,这个文件夹保存临时,后续不需要使用,temp目录中的文件,系统会自动清理,重新启动手机,temp目录会被清空,系统磁盘不足时,系统也会自动清空;
 */
- (NSString *)tempDir{
    NSString *path = NSTemporaryDirectory();
    if (path == nil) {
        return nil;
    }
    
    //2.拼接字符串
    // 注意: pathComponents方法, 会按照字符串的/来切割字符串, 如果给定的字符串中没有/那么就直接返回给定的字符串
    NSString *temp = [[self pathComponents] lastObject];
    
    NSString *result = [path stringByAppendingPathComponent:temp];
    
    return  result;
}

@end
